package main

import (
	"fmt"
	"math/rand"
)

func main() {
	//1、打印九九乘法表。如果可以要求间隔均匀。
	for i := 1; i < 10; i++ {
		for j := 1; j <= i; j++ {
			fmt.Printf("%d*%d=%d\t", j, i, j*i)
		}
		fmt.Println()
	}

	//2、随机生成20以内的20个非0正整数，打印出来。对生成的数值，第单数个（不是索引）累加求和，第偶数个累乘求积。打印结果
	fmt.Println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
	var (
		oddSum      = 0
		evenProduct = 1
		tmp         = 0
	)

	for i := 1; i <= 20; i++ {
		tmp = rand.Intn(20) + 1

		if i%2 == 1 {
			fmt.Println("第奇数个数字：", tmp)
			oddSum += tmp
		} else {
			fmt.Println("第偶数个数字：", tmp)
			evenProduct *= tmp
		}
	}
	fmt.Printf("第单数个累加求和：%d，第偶数个累乘求积：%d\n", oddSum, evenProduct)

	//3、打印100以内的斐波那契数列
	fmt.Println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
	for a, b := 1, 1; a < 101; {
		fmt.Printf("%d ", a)
		a, b = b, a+b

	}
}

// 批改意见
// 逻辑正确，可以尝试着将每个题目单独提取到一个函数中实现